package com.gymmsystem.GYMMSystem.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gymmsystem.GYMMSystem.entity.MemberCardRecord;

import java.util.List;

public interface MemberCardRecordService extends IService<MemberCardRecord> {

    /**
     * 获取用户的会员卡购买记录（包含关联信息）
     */
    List<MemberCardRecord> getRecordsByUserId(Long userId);

    /**
     * 分页查询所有会员卡购买记录
     */
    IPage<MemberCardRecord> getRecordsPage(Integer pageNum, Integer pageSize);

    /**
     * 购买会员卡
     */
    boolean purchaseCard(MemberCardRecord record);

    /**
     * 检查用户是否有有效的会员卡
     */
    boolean hasValidCard(Long userId);

    /**
     * 获取用户当前有效的会员卡
     */
    MemberCardRecord getCurrentValidCard(Long userId);
    
    /**
     * 获取用户所有有效的会员卡
     */
    List<MemberCardRecord> getAllValidCards(Long userId);
}